package files;

import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;

/**
 * 1、文件过滤
 * 2、java.io.FilenameFilter 根据 名称 对某个目录中的 项目 进行过滤
 * 3、java.io.FileFilter 根据 项目的属性 对某个目录中的 项目 进行过滤
 */
public class FileTest5 {

	public static void main(String[] args) {
		
		File fod = new File( "." ); // 创建一个表示当前路径的File实例
		
		if( fod.exists() && fod.isDirectory() ) {
		
			/*
			FilenameFilter fileNameFilter = new FilenameFilter() {
				@Override
				public boolean accept( File dir, String name ) {
					// 如果指定的 文件名称 或 目录名称 以 .java 为后缀，则该 文件名 或 目录名 就保留在结果中
					if( name.startsWith( "." ) ) {
						// 如果 accept 方法返回true 则表示该 名称 会保留在结果中
						return true ;
					}
					return false;
				}
			};
			
			// 使用 File 类中的 实例方法 list( FilenameFilter ) 可以根据 名称 对某个目录中的 项目 进行过滤
			String[] itemNames = fod.list(fileNameFilter);
			System.out.println( Arrays.toString( itemNames ) );
			*/
			
			FileFilter fileFilter = new FileFilter() {
				@Override
				public boolean accept( File pathname ) {
					return pathname.isDirectory() ;
				}
			};
			
			File[] items = fod.listFiles(fileFilter);
			System.out.println( Arrays.toString( items ) );
		
		}
		
	}

}
